Cloud computing is the use of computing resources (hardware and software) which are available in a remote location and accessible over a network, such as the Internet. Users are able to buy these computing resources (including storage and computing power) as a utility on demand. Cloud computing entrusts remote services with a user's data, software and computation. Use of virtual computing resources can provide a number of advantages including cost advantages and/or ability to adapt rapidly to changing computing resource needs.
Some cloud environments provide monitoring services that monitor the computing resources and applications being run by customers. The customer can also supply custom metrics to such monitoring services, the custom metrics being generated by the customer's own applications. The monitoring services can use the received custom metric data to allow a customer to gain system-wide visibility into resource utilization, application performance and operational health.
In order to obtain the custom metrics, each customer independently develops software to extract the custom metrics generated by the customer's applications. Such a need to independently developed software has led to few customers supplying custom metrics to the monitoring services.